From 32f1a5ad8373109c923f36cc0a9a579ab1a8770f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 8 Feb 2012 21:55:22 -0500 Subject: [PATCH] Add a button to back to the palette This is just for trying this out; if it is considered good, it will be moved into GtkColorChooserDialog --- tests/testcolorchooser.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tests/testcolorchooser.c b/tests/testcolorchooser.c index 63911ae6c3..5dffae4c75 100644 --- a/tests/testcolorchooser.c +++ b/tests/testcolorchooser.c @@ -30,16 +30,47 @@ dialog_response (GtkDialog *dialog, gint response) gtk_main_quit (); } +static void +show_editor_cb (GtkWidget *dialog, GParamSpec *pspec, GtkWidget *button) +{ + gboolean show_editor; + + g_object_get (dialog, "show-editor", &show_editor, NULL); + gtk_widget_set_visible (button, show_editor); +} + +static void +go_to_palette (GtkWidget *button, GtkWidget *dialog) +{ + g_object_set (dialog, "show-editor", FALSE, NULL); +} + int main (int argc, char *argv[]) { GtkWidget *dialog; + GtkWidget *button; + GtkWidget *aa; + GtkWidget *image; gint i; gtk_init (NULL, NULL); dialog = gtk_color_chooser_dialog_new ("Select a color", NULL); + button = gtk_button_new (); + image = gtk_image_new_from_icon_name ("view-grid-symbolic", GTK_ICON_SIZE_MENU); + gtk_widget_show (image); + gtk_container_add (GTK_CONTAINER (button), image); + aa = gtk_dialog_get_action_area (GTK_DIALOG (dialog)); + gtk_container_add (GTK_CONTAINER (aa), button); + gtk_widget_set_no_show_all (button, TRUE); + gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (aa), button, TRUE); + gtk_button_box_set_child_non_homogeneous (GTK_BUTTON_BOX (aa), button, TRUE); + gtk_widget_set_tooltip_text (button, "Show color palette"); + g_signal_connect (dialog, "notify::show-editor", G_CALLBACK (show_editor_cb), button); + g_signal_connect (button, "clicked", G_CALLBACK (go_to_palette), dialog); + for (i = 1; i < argc; i++) { if (g_strcmp0 (argv[i], "--no-alpha") == 0) -- 2.30.2